<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
	<ItemGroup>
	<File Include="$(P1).$(Prefix)Test1" />
	<Result Include="$(Files)" />
	<DesignerCS Include="a.designer.cs;b.designer.cs"/>
	<DesignerCSDependentFiles Include="@(DesignerCS)">
		<DependentUpon>$([System.String]::Copy('%(Identity)').Substring(
			0,
			$([System.String]::Copy('%(Identity)').LastIndexOf(
				'.designer.cs',
				System.StringComparison.OrdinalIgnoreCase))
			)).cs
		</DependentUpon>
	</DesignerCSDependentFiles>
	</ItemGroup>
	<PropertyGroup>
	<Prop>abcdefgh</Prop>
	<SomeChars>1.0</SomeChars>
	<TestFile>files\test.txt</TestFile>
	<Substring>$(Prop.Substring(1,3))</Substring>
	<SubstringIgnoreCase>$(Prop.SubString(1,3))</SubstringIgnoreCase>
	<MethodWithParams1>$([System.String]::Format("ab"))</MethodWithParams1>
	<MethodWithParams2>$([System.String]::Format("a{0}c",b))</MethodWithParams2>
	<MethodWithParams3>$([System.String]::Format("a{0}{1}d",b,c))</MethodWithParams3>
	<MethodWithParams4>$([System.String]::Format("a{0}{1}{2}{3}{4}{5}{6}{7}j",b,c,d,e,f,g,h,i))</MethodWithParams4>
	<MethodWithParams5>$([System.String]::Format("a{0}b",null))</MethodWithParams5>
	<MaxByte>$([System.Byte]::MaxValue)</MaxByte>
	<Upper1>$([System.Char]::ToUpper("a"))</Upper1>
	<Upper2>$([System.String]::Concat("a'b'c",5))</Upper2>
	<Upper3>$([System.String]::Concat('a"b"c',5))</Upper3>
	<Upper4>$([System.String]::Concat(abc,5))</Upper4>
	<Upper5>$([System.String]::Concat($(Prop),5))</Upper5>
	<FileContent>$([System.IO.File]::ReadAllText($(TestFile)).Substring(1,10))</FileContent>
	<HexConv>$([System.Int16]::MaxValue.ToString(x8))</HexConv>
	<ConcatFileContent>$([System.String]::Concat("[", $([System.IO.File]::ReadAllText($(TestFile)).Substring(1,10)), "]"))</ConcatFileContent>
	<MSBuildAdd>$([MSBuild]::Add(2, 3))</MSBuildAdd>
	<MSBuildAddDouble>$([MSBuild]::Add(2.5, 3))</MSBuildAddDouble>
	<MSBuildValueOrDefault1>$([MSBuild]::ValueOrDefault($(Prop), "empty"))</MSBuildValueOrDefault1>
	<MSBuildValueOrDefault2>$([MSBuild]::ValueOrDefault($(NoProp), "empty"))</MSBuildValueOrDefault2>
	<SplitLength>$(Prop.Split('d').Length)</SplitLength>
	<NewString>$([System.String]::new('$(Prop)').TrimEnd('h'))</NewString>
	<CharConvert>$(SomeChars.Replace(".", "").PadRight(3,"0"))</CharConvert>
	<StringAtIndex0>$(Prop[0])</StringAtIndex0>
	<StringAtIndex1>$(Prop[1])</StringAtIndex1>
	<Path>\a\b\</Path>
	<CharTrim>$(Path.Trim (\b))</CharTrim>
	<OutDir>foo</OutDir>
	<FullPath>$([System.IO.Path]::GetFullPath(`$([System.IO.Path]::Combine(`$(MSBuildProjectDirectory)`, `$(OutDir)`))`))</FullPath>
	<FullPathWithSpaces>$([System.IO.Path]::GetFullPath(`$([System.IO.Path]::Combine(`$(MSBuildProjectDirectory)`, `(a b)`))`))</FullPathWithSpaces>
	<P1>AAA</P1>
	<Files>$(P1);@(File)</Files>
	<Prefix>Post</Prefix>
	<PostFiles>@(File)</PostFiles>
	<P1>BBB</P1>
	<DoubleNumber>00065535.0</DoubleNumber>
	<DoubleNumberComplex>$([MSBuild]::Subtract($(DoubleNumber.Split('.')[0].Substring(3).Trim()), 8800))</DoubleNumberComplex>
	<ParamsPathCombine>$([System.IO.Path]::Combine('a', 'b', 'c', 'd', 'e', 'f'))</ParamsPathCombine>
	<EnumFolderPath>$([System.Environment]::GetFolderPath(SpecialFolder.LocalApplicationData))</EnumFolderPath>
	<EnumFlagsSplitStringLength>$(Path.Split('\', StringSplitOptions.None).Length)</EnumFlagsSplitStringLength>
	<EnumFlagsSplitStringRemoveEmptyLength>$(Path.Split('\', System.StringSplitOptions.None|RemoveEmptyEntries).Length)</EnumFlagsSplitStringRemoveEmptyLength>
	<DirectoryNameOfFileAbove>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), false.targets))false.targets</DirectoryNameOfFileAbove>
	<PathOfFileAbove>$([MSBuild]::GetPathOfFileAbove('false.targets'))</PathOfFileAbove>
	<EnsureTrailingSlash>$([MSBuild]::EnsureTrailingSlash('$(CharTrim)'))</EnsureTrailingSlash>
	<NormalizeDirectory>$([MSBuild]::NormalizeDirectory('$(CharTrim)'))</NormalizeDirectory>
	<NormalizePath>$([MSBuild]::NormalizePath('$(CharTrim)'))</NormalizePath>
	<CorrectOverloadIndexOf>$([System.String]::Copy('a.designer.cs').LastIndexOf('.designer.cs', System.StringComparison.OrdinalIgnoreCase))</CorrectOverloadIndexOf>
	<CorrectOverloadIndexOfTransform>@(DesignerCSDependentFiles->'%(DependentUpon)')</CorrectOverloadIndexOfTransform>
	</PropertyGroup>
	<PropertyGroup>
	</PropertyGroup>
	<Target Name="Test">
		<Message Text="$(FullPath)" />
	</Target>
  <ItemGroup>
	<File Include="$(P1).$(Prefix)Test2" />
  </ItemGroup>
  <Import Project="(some files)\functions.props" />
</Project>
